import axios from "axios";

const http = axios.create({
    // 请求时间
    timeout: 5000,
    // 基础路径,发请求时，路径会出现api
    baseURL: import.meta.env.VITE_BASE_URL
})

// 请求拦截器：在请求之前，请求拦截器可以检测到，在发出去之前做一些事
http.interceptors.request.use(config => {
    // 创建dom    将样式添加到全局
    const dom = document.createElement('div')
    // 设置id属性
    dom.setAttribute('id','loading')
    // 将dom插入body中
    document.body.append(dom)
    return config;
})

// 响应拦截器
http.interceptors.response.use(
    (response) => {
        // 删除dom
        document.body.removeChild(document.getElementById('loading')!)
        // 成功的回调
        return response.data.data
    }, (reject) => {
        // 删除dom
        document.body.removeChild(document.getElementById('loading')!)
        // 失败的回调
        return Promise.reject(new Error(reject))

    }
)

export default http;